package com.gmss.crawler.service;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gmss.crawler.constants.Constants;
import com.gmss.crawler.module.retraction.company.domain.RCompany;
import com.gmss.crawler.module.retraction.company.service.IRCompanyService;
import com.gmss.crawler.module.retraction.paper.domain.RPaper;
import com.gmss.crawler.module.retraction.paper.service.IRPaperService;
import com.gmss.crawler.module.retraction.paperauthor.domain.RPaperAuthor;
import com.gmss.crawler.module.retraction.paperauthor.service.IRPaperAuthorService;
import com.gmss.crawler.utils.CommonUtils;
import com.gmss.crawler.utils.CrawlerCommonUtils;
import com.gmss.crawler.utils.DateUtils;
import com.gmss.crawler.utils.RegexUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;

/**
 * 撤稿论文
 */
@Slf4j
@Service
public class RetractionPaperCrawlerService {

    //    public static final String ALL_ITEMS = "(?<=of)(.+?)(?=Item(s))";
    public static final String ALL_ITEMS = "(?<=of)(.*?)(?=Item\\(s\\))";

    @Value("${retraction_paper_path}")
    private String retractionPaperPath;

    @Resource
    private IRCompanyService iRCompanyService;
    @Resource
    private IRPaperService iRPaperService;
    @Resource
    private IRPaperAuthorService iRPaperAuthorService;

    public static void main(String[] args) throws Exception {

//        System.out.println(CrawlerCommonUtils.getDocument("https://pubmed.ncbi.nlm.nih.gov/26732382/"));


        /**
         * %2F 对应：/
         * %3A 对应：:
         * %3F 对应： ?
         * %25 对应: %
         */
//        System.out.println(CrawlerCommonUtils.getDocument("https://doi.org/10.1088/1674-1137/40/7/077001"));
//
////        new RetractionPaperCrawlerService().parseRetractionPaperHtmlData();
//
//        Document document = CrawlerCommonUtils.getDocumentByFile("C:\\Users\\user\\Desktop\\4.html");
//        String doiJumpPath = document.getElementById("redirectURL").attr("value");
//        doiJumpPath.replaceAll("%2F", "/").replaceAll("%3A",":").replaceAll("%3F","?").replaceAll("%25","%");
//        System.out.println(doiJumpPath);


        List<Long> workCompanyIds = new ArrayList<>();
        workCompanyIds.add(1L);
        workCompanyIds.add(76L);
        workCompanyIds.add(34L);
        workCompanyIds = workCompanyIds.stream().sorted(((o1, o2) -> Long.compare(o1, o2))).collect(Collectors.toList());
        System.out.println(JSON.toJSONString(workCompanyIds));

//        List<RPaper> rPaperList = new ArrayList<>();
//        RPaper rPaper = new RPaper().builder().originalPubMedId("34597715").retractionOrOtherNoticesPubMedId("00000000").build();
//        rPaperList.add(rPaper);
//        new RetractionPaperCrawlerService().getPaperAuthorsDatas(rPaperList);

//        aa();
    }

    public void parSesciencedirectHtmlData(Document document) {

    }

    public Map<Long, List<RPaperAuthor>> getPubmedById(List<RPaper> rPaperList) throws InterruptedException {
        if (CollectionUtils.isNotEmpty(rPaperList)) {
            for (RPaper rPaper : rPaperList) {
                Map<Long, List<RPaperAuthor>> map = new HashMap<>();
                String retractionOrOtherNoticesPubMedId = rPaper.getRetractionOrOtherNoticesPubMedId();
                String originalPubMedId = rPaper.getOriginalPubMedId();
                if (StringUtils.isNotBlank(originalPubMedId) && !StringUtils.equals(originalPubMedId, "00000000")) {
                    Thread.sleep(CommonUtils.randomRange(1000 * 5, 1000 * 10));
                    String path = Constants.PUB_MED_PATH + originalPubMedId;
                    Document document = CrawlerCommonUtils.getDocument(path);
//                Document document = CrawlerCommonUtils.getDocumentByFile("C:\\Users\\user\\Desktop\\34597715.html");
                    parsePubMedById(document, rPaper, map);
                } else if (StringUtils.isNotBlank(retractionOrOtherNoticesPubMedId) && !StringUtils.equals(retractionOrOtherNoticesPubMedId, "00000000")) {
                    Thread.sleep(CommonUtils.randomRange(1000 * 5, 1000 * 10));
                    String path = Constants.PUB_MED_PATH + retractionOrOtherNoticesPubMedId;
                    Document document = CrawlerCommonUtils.getDocument(path);
                    parsePubMedById(document, rPaper, map);
                }

                if (MapUtils.isNotEmpty(map)) {
                    map.forEach((rPaperId, rPaperAuthorList) -> {
                        iRPaperAuthorService.saveOrUpdateBatch(rPaperAuthorList);

                    });
                    iRPaperService.saveOrUpdate(rPaper);
                }
            }
        }
        return null;
    }

    private void parsePubMedById(Document document, RPaper rPaper, Map<Long, List<RPaperAuthor>> map) {
        try {
            List<RPaperAuthor> rPaperAuthorList = new ArrayList<>();
            if (null == document)
                return;

            String doi = null;
            Element fullDoiElements = document.getElementById("full-view-identifiers");
            if (null != fullDoiElements) {
                Elements ulElements = fullDoiElements.select("ul li");
                for (int i = 0; i < ulElements.size(); i++) {
                    String title = ulElements.get(i).select("span span").text();
                    if (StringUtils.contains(title.toLowerCase(), "doi")) {
                        doi = ulElements.get(i).select("span a").text();
                        break;
                    }
                }
            }

            if (StringUtils.isNotBlank(rPaper.getOriginalPubMedId()) && !StringUtils.equals(rPaper.getOriginalPubMedId(), "00000000")
                    && StringUtils.isNotBlank(rPaper.getOriginalDoi())) {
                if (StringUtils.isNotBlank(doi) && !StringUtils.equals(doi.toLowerCase(), rPaper.getOriginalDoi().toLowerCase())) {
                    return;
                }
            } else if (StringUtils.isNotBlank(rPaper.getRetractionOrOtherNoticesPubMedId()) && !StringUtils.equals(rPaper.getRetractionOrOtherNoticesPubMedId(), "00000000")
                    && StringUtils.isNotBlank(rPaper.getRetractionOrOtherNoticesDoi())) {
                if (StringUtils.isNotBlank(doi) && !StringUtils.equals(doi.toLowerCase(), rPaper.getRetractionOrOtherNoticesDoi().toLowerCase())) {
                    return;
                }
            }

            Element abstractId = document.getElementById("abstract");
            String abstractData = null;
            if (null != abstractId)
                abstractData = abstractId.select("p").text();
            if (StringUtils.contains(abstractData, "Keywords: ")) {
                abstractData = abstractData.substring(0, abstractData.indexOf("Keywords: "));
                String keywords = abstractId.select("p").text().substring(abstractId.select("p").text().indexOf("Keywords: ") + 9, abstractId.select("p").text().length());
                if (StringUtils.isBlank(rPaper.getKeywords()))
                    rPaper.setKeywords(keywords);
            }
            if (StringUtils.isBlank(rPaper.getDescribeData()))
                rPaper.setDescribeData(abstractData);
            Element headId = document.getElementById("full-view-heading");
            Elements spanElements = null;
            if (null != headId) {
                spanElements = headId.select(".inline-authors").select(".authors").select(".authors-list").select("span");
            }
            if (null == spanElements)
                return;
            int order = 0;
            for (int i = 0; i < spanElements.size(); i++) {
                RPaperAuthor rPaperAuthor = new RPaperAuthor().builder()
                        .rPaperId(rPaper.getId())
                        .build();
                String authorName = spanElements.get(i).select(".full-name").text();
                if (StringUtils.isNotBlank(authorName)) {
                    rPaperAuthor.setAuthorName(authorName);
                    String affiliations = spanElements.get(i).select(".affiliation-link").attr("title");
                    if (StringUtils.isNotBlank(affiliations)) {
                        LambdaQueryWrapper<RCompany> companyWrapper = new LambdaQueryWrapper<>();
                        companyWrapper.eq(RCompany::getCompanyName, affiliations);
                        int count = iRCompanyService.count(companyWrapper);
                        if (count > 0) {
                            RCompany rCompany = iRCompanyService.getOne(companyWrapper);
                            rPaperAuthor.setRCompanyId(rCompany.getId().toString());
                        } else {
                            RCompany rCompany = new RCompany().builder()
                                    .companyName(affiliations)
                                    .build();
                            iRCompanyService.save(rCompany);
                            rPaperAuthor.setRCompanyId(rCompany.getId().toString());
                        }
                    }
                    rPaperAuthor.setAuthorOther(++order);
                    if (StringUtils.contains(affiliations, "@")) {
                        rPaperAuthor.setReportAuthor(1);
                    }
                    rPaperAuthorList.add(rPaperAuthor);
                }
            }
            if (CollectionUtils.isNotEmpty(rPaperAuthorList)) {
                map.put(rPaper.getId(), rPaperAuthorList);
            }
        } catch (Exception e) {
            log.error("rPaperId:{} Exception:{} ", rPaper.getId(), e);
        }
    }

    public List<RPaper> parseRetractionPaperHtmlData() {
//        File retractionPaperFile = new File("E:\\project\\crawler\\src\\main\\resources\\htmlTest\\retractionPaper\\");
        File retractionPaperFile = new File(retractionPaperPath);
        File[] files = retractionPaperFile.listFiles();
        Integer totles = 0;
        List<RPaper> rpaperList = new ArrayList<>();
        for (int i = 0; i < files.length; i++) {
            File file = files[i];
            Document document = CrawlerCommonUtils.getDocumentByFile(file.getAbsolutePath());
//            Document document = CrawlerCommonUtils.getDocumentByFile("E:\\project\\crawler\\src\\main\\resources\\htmlTest\\retractionPaper\\20160101-20160110.html");
            Element scrollGrid = document.getElementById("ScrollGrid");
            Elements tableTr = scrollGrid.select("table").select("tr");
            String itemsText = tableTr.get(0).select("th").get(1).select("span").text();
            String itemsTextTotles = itemsText.substring(0, 3);
            Integer htmlTotles = Integer.parseInt(itemsTextTotles);
            totles = totles + htmlTotles;
            log.info("时间段：{}，总条数：{}", file.getName(), htmlTotles);

            for (int j = 1; j < tableTr.size(); j++) {
                Elements tableTds = tableTr.get(j).select("td");
                // 国家
//                System.out.println(tableTr.get(j).select("td").get(7).select("span"));
                Elements elementsSpan = tableTr.get(j).select("td").get(7).select("span");
                String spanText = elementsSpan.get(0).toString();
                String rPaywalled = "";
                String countries = "";
                if (elementsSpan.size() > 1 && null != elementsSpan.get(1)) {
                    rPaywalled = elementsSpan.get(1).toString();
                }
                if (StringUtils.isNotBlank(spanText)) {
                    spanText = spanText.replaceAll(rPaywalled, "").replaceAll("<span>", "").replaceAll("</span>", "");
                    if (spanText.indexOf("<br>") > 0) {
                        String[] spanTexts = spanText.split("<br>");
                        if (spanTexts.length > 0) {
                            List<String> countrieList = Arrays.asList(spanTexts);
                            countries = StringUtils.join(countrieList, ",");
                        }
                    }
                }
                if (!StringUtils.containsAny(countries, "china", "China")) {
                    continue;
                }
                RPaper rPaper = new RPaper();
                if (StringUtils.isNotBlank(countries)) {
                    rPaper.setCountries(countries);
                }
                for (int k = 1; k < tableTds.size(); k++) {
                    if (k == 1) {
                        String title = tableTds.get(k).select("a").select(".rTitle").text();
                        String subject = tableTds.get(k).select("a").select(".rSubject").text();
                        String journal = tableTds.get(k).select("a").select(".rJournal").text();
                        String publisher = tableTds.get(k).select("a").select(".rPublisher").text();
                        String urls = tableTds.get(k).select("a").select(".urls").text();
                        List<String> urlList = new ArrayList<>();
                        if (StringUtils.isNotBlank(urls) && urls.indexOf(" ") > 0) {
                            String[] urlsArray = urls.split(" ");
                            urlList = Arrays.asList(urlsArray);
                        } else if (StringUtils.isNotBlank(urls)) {
                            urlList.add(urls);
                        }
                        if (StringUtils.isNotBlank(journal) && journal.indexOf("---") > 0) {
                            String[] journals = journal.split("---");
                            if (StringUtils.isNotBlank(journals[0])) {
                                journal = journals[0];
                            }
                        }
                        rPaper.setTitle(title);
                        rPaper.setSubject(subject);
                        rPaper.setJournal(journal);
                        rPaper.setPublisher(publisher);
                        if (CollectionUtils.isNotEmpty(urlList)) {
                            rPaper.setRelatedLinks(StringUtils.join(urlList, ","));
                        }
                    }
                    if (k == 2) {
                        Elements elementsDiv = tableTds.get(k).select("div");
                        List<String> reasonList = new ArrayList<>();
                        for (int l = 0; l < elementsDiv.size(); l++) {
                            String reason = elementsDiv.get(l).text();
                            if (StringUtils.isNotBlank(reason)) {
                                reason = reason.replaceAll("\\+", "");
                                reasonList.add(reason);
                            }
                        }
                        if (CollectionUtils.isNotEmpty(reasonList))
                            rPaper.setReasonList(reasonList);
                    }
                    if (k == 3) {
                        Elements elementsA = tableTds.get(k).select("a");
                        List<String> authorList = new LinkedList<>();
                        for (int l = 0; l < elementsA.size(); l++) {
                            String author = elementsA.get(l).text();
                            if (StringUtils.isNotBlank(author)) {
                                authorList.add(author);
                            }
                        }
                        if (CollectionUtils.isNotEmpty(authorList)) {
                            rPaper.setAuthorList(authorList);
                            rPaper.setAllAuthors(StringUtils.join(authorList, ","));
                        }

                    }
                    if (k == 4) {
                        Map<String, String> map = getPaperData(tableTds, k);
                        if (MapUtils.isNotEmpty(map)) {
                            rPaper.setOriginalPublicationDate(map.containsKey("publicationDate") ? map.get("publicationDate") : null);
                            rPaper.setOriginalPubMedId(map.containsKey("pubMedId") ? map.get("pubMedId") : null);
                            rPaper.setOriginalDoi(map.containsKey("doi") ? map.get("doi") : null);
                        }

                    }
                    if (k == 5) {
                        Map<String, String> map = getPaperData(tableTds, k);
                        if (MapUtils.isNotEmpty(map)) {
                            rPaper.setRetractionOrOtherNoticesDate(map.containsKey("publicationDate") ? map.get("publicationDate") : null);
                            rPaper.setRetractionOrOtherNoticesPubMedId(map.containsKey("pubMedId") ? map.get("pubMedId") : null);
                            rPaper.setRetractionOrOtherNoticesDoi(map.containsKey("doi") ? map.get("doi") : null);
                        }
                    }
                    if (k == 6) {
                        String natureOfNotice = tableTds.get(k).select("span").text();
                        String tableTdsStr = tableTds.get(k).toString().replaceAll(natureOfNotice, "");
                        Document tableTdsDocument = CrawlerCommonUtils.getDocumentByString(tableTdsStr);
                        String articleType = tableTdsDocument.select("body").text();
                        if (StringUtils.isNotBlank(articleType))
                            rPaper.setArticleType(articleType);
                        if (StringUtils.isNotBlank(natureOfNotice))
                            rPaper.setNatureOfNotice(natureOfNotice);
                    }
                }
                rpaperList.add(rPaper);
            }
        }

        log.info("时间段：{}，总条数：{}", "2016/01/01-2021/12/15", totles);
        return rpaperList;
    }

    private static Map<String, String> getPaperData(Elements tableTds, int k) {
        Map<String, String> map = new HashMap<>();
        String doi = tableTds.get(k).select(".rNature").text();
        String OriginalPaperDatas = tableTds.get(k).text();
        doi = doi.replaceAll("\\(", "").replaceAll("\\)", "");
        OriginalPaperDatas = OriginalPaperDatas.replaceAll("\\(", "").replaceAll("\\)", "").replaceAll(doi, "");
        String[] OriginalPaperDatasArray = OriginalPaperDatas.split(" ");
        String publicationDate = null;
        String pubMedId = null;
        if (OriginalPaperDatasArray.length >= 3) {
            publicationDate = OriginalPaperDatasArray[0];
            pubMedId = OriginalPaperDatasArray[1];
            doi = OriginalPaperDatasArray[2];
        } else if (OriginalPaperDatasArray.length >= 2) {
            publicationDate = OriginalPaperDatasArray[0];
            pubMedId = OriginalPaperDatasArray[1];
        } else if (OriginalPaperDatasArray.length >= 1) {
            publicationDate = OriginalPaperDatasArray[0];
        }
        if (StringUtils.isNotBlank(publicationDate))
            try {
                publicationDate = DateUtils.handleDate(publicationDate);
            } catch (Exception e) {
            }
        map.put("publicationDate", publicationDate);
        if (StringUtils.isNotBlank(pubMedId))
            map.put("pubMedId", pubMedId);
        if (StringUtils.isNotBlank(doi) && !StringUtils.equalsIgnoreCase(doi, "unavailable"))
            map.put("doi", doi);

        return map;
    }

    private static void aa() throws Exception {
        String startDate = "2016-01-01";
        int distanceMonth = DateUtils.getDistanceMonth(DateUtils.stringToDate(startDate), new Date());
        String endDate = DateUtils.dateToString(DateUtils.getDateOfLastMonth(startDate, 2), "MM/dd/yyyy");
        startDate = DateUtils.dateToString(DateUtils.getDateOfLastMonth(startDate, 0), "MM/dd/yyyy");
        distanceMonth = CommonUtils.getPages(distanceMonth, 2);
        System.out.println(distanceMonth);
        System.out.println(startDate + "--" + endDate);
        for (int i = 0; i < distanceMonth - 1; i++) {
            getRetractionPaperData(startDate, endDate);
            startDate = endDate;
            endDate = DateUtils.dateToString(DateUtils.getDateOfLastMonth(DateUtils.handleDate(startDate), 2), "MM/dd/yyyy");

            Date endDate2 = DateUtils.stringToDate(DateUtils.handleDate(endDate));
            if (endDate2.getTime() > new Date().getTime()) {
                endDate = DateUtils.dateToString(DateUtils.getDateOfLastMonth(DateUtils.handleDate(DateUtils.dateToString(new Date(), "yyyy-MM-dd")), 0), "MM/dd/yyyy");
            }
            System.out.println(startDate + "--" + endDate);
        }
    }

    /**
     * @param startDate 查询开始时间，格式：MM/dd/yyyyy
     * @param endDate   查询结束时间，格式：MM/dd/yyyyy
     * @throws IOException
     */
    private static void getRetractionPaperData(String startDate, String endDate) throws Exception {
        Map<String, String> params = new HashMap<>();
        params.put("__EVENTTARGET", "btnSearch");
        params.put("__EVENTARGUMENT", "");
        params.put("__VIEWSTATEENCRYPTED", "");
        params.put("__VIEWSTATE", "SNi8RODpriOEymSceFyX5FYwBCUahfQAQD34XJhKsIqw8fTF+4K1EPSplbMUtC6pzV0jF6vzGSM5tEOLWJv+Ks8FEWi++VzJmy4XDBQ+kuwaQvQ7xBsZX8xPVtGDaETroJM1h/SwNwwrxsLpYncP+mJ8SwShn/tCCxo/XWUHbeNu/AQ9+Rom7YDqTvcDJb72BOF0yfQtw4tMr6K7MoMRWVS4A22TGd1zbC66w3tWyM+UYsuaz7Qt5VcQVfjjFPBMo/CD1Q701ZvwY4FvfdDr/WDhpj+9eK/tQLJbp5q166OGo1UZWNOnGsDCtEIWcT+Yn6KbGh0+Np7BSqD80Apo0JDdrCtfjKPTEBbuoAeNBCNSvQ8L+QHc0KzwI0mxZoWpspDIUFPp1oEesFZgKj+vngkGzutd9UNyk2wklRmiy4YgYKHZWtQ0PrLCOYELgA4ON57M8USKfMVclL0Awil8gyXUGcmPDYDj9RQTFKPjDyaotxpIwZngz08KtnpywGN1TX5sv9wwCM4Hk71KXZMCDhmzkz8Y0aTLWmci2aDGavEA7as3yqkUVw4IDwO1D7JUkKGioCWw0sT7oNLBQxr2wf20yuhN42M+LSNqglbfcpeeI6rFpyelUzONUsGxI+pISU4hfXec08nR0hxCGDYg7IyxvBJC6Eit6np4voItw59v+wziFx/cYaRXoza3IQ+C8M5d9WvGT9P7rDcIWkP6i07ZL+Im3bJt3pZbVl1W98erNfb3WSkdl0cc5zKwPtwWZmFmPMTY37rOq9aYRg0eJUczZO771+3vuvpxpI6c+EmUY3WWpaivlY6S/O0txzAOZIPCMB/CZpA36HsneM5Dcwu9Wd9xRFJxpjQldTR4nMb3NVvJzQVL7bZs5/At66H59CgHN7Xwi2XDddDz+KQ7R9jq6Dw4s5k40A9+DTd5dImAWMKU92+90rKKd6cqiMqtfzhoCX64NCSKYn9KwTfxOoiWJLhDP8bCrM2zixh70GjLc5KH7duCGFbwPy37gH7zg2y+TY/WvKISke78FtJXczNNwo9Gty1WhSzR4zwddJdiYOqMOhhkbdi068HcMDlBaYdktnLLCa/k1AoQO3B3FTBlSQoxRcK+p0fvmMunB+FauAC2g3X5sISDy8wqwPTQEWy4PneZnefYZih1lOUpxrsE6jDxvHT7DxyURxXaBbBxVuU5OfBdb210xnGR5SVvvW0hozcsNclERLWg8srYI56Qrdafn18xT6DV14tZZzeg7vUV48Zb56KnBDPaxAUI4UbGfsiUamteHIpvP1jDLOiS76N6jl+0oCT4F7fL8vWRVfqN3NNo7F1yAPn/0xtgEDpfhRhXvZHoxouZx8TAdA/tNaPABfRbHsGTt7o9qND6NkOJG9af3N8AUfoefCre7CaZh2oQVp84cMUSSEHAkzELX8/+uBa89sYaeMfLvrsUR62SJHVlIA8Mop9zwFiKFjAtW1098knk3UbsTGqgVTID07fk9i9pabQZJFcC1n53qR/pRqdjXRwwRP/0cmlYNlIuEPMJJ0EA3wNXBSBGqLozEBXziP82i7rkt3ZL+4c44v81icVaGTxsItF09nwc/QVa0uqXthCal4HEOYOGu/rlRLw4VCmX7Sx5kJQqQX3Ude2kGYnfvK7rGDZx1aRJYZax930QDXQ8vuQhYkVsYfqPGnyz1IgrbVceyHWecNtNh1HNSaj0Cw9WH7IRlRkfYHUhokpf7fWZ7BrosTpy9ntMQMNu5wUq2gGudqYcprzg7fJ2ocdEffgVKK6k9hbEq74SM1VTAHVZO4QXqGMBef7tHZxXfApsvS46MJZwrgwCU2bstUvye/IZE+qkU7RP3YzxiI+vZDrH0DeS1YLwgMiCi0BQ1m7ViKE19leWEuQ9blzDjNkIm/eLzgAQubo+pq8gr2DCbbDmMSWaTlUZrcIKHkv83Pmemq3FBZ8KLkuzhO7EqXDEOBQBKa8k9JooBP/Y5Drb3q4gWbASyCTvLqVhtL4sZt67RBCt9MkrVBNV3sEx1H2QD4depYizBX+HkNegDAdkkmh5Ij7PIAtHqZOwyNu2E4LJi/jfO8ygx8ZLaND/OyAE2W/UA4UlvAAYePyP8Q+GJKE1hQXS4pzJD5XlbRkixxxPzNRfXlh4viEPVxcBPSlLxONDJYBtJZ1vLff08t86EHj/lXztxalBgKazOpdS31+81HunONMfEuyWFVUoI6ypvTJxb5bztWvHlwdr+4hS6LqiMS6OieWBrP+/X5VX7FDuIjEEwPk70stSWmudsizxnZEotlJSu/MCHhEaomAoYEdNmkUgLoGLz/7bq0MuP7UY06nBZ7jdacTp1F1Q+zXO22jKibGtlVdX9q9ud5ODh0y6DOxe13hOVo/iWQOWtDxrQJJEfs2H2GA7nYPfhQuQwshLVM1A0ElAbo3XWsmNfAVGQ7Y+jHl6ohusuzVgup1yhiv2h2Q6kTd05q0rznJ5ol34UO+GX1wITLeggmiwe7niS/YSlwN5yjju1Rlw1Cw1kfkboOgJ5iskwybAIxfOGpSIOrVRGOy6j+NCcZED6cgprQbuikjqjR+X7TC2+xP9nPuQT++LvNl9qdFQZJgA4KZbqY/5lfJ4dmfU4pVFKtQSFQRiOSbyX8ZcMpu30E3pFwc4odOaNq+yv9ZcD45vTSbyOUDt+BlwOwV2b4mCIzTGE0DY4dUD+akBsAiyF1a/KLMTXagfp0mteFAT9UV9Ic/DnBICaicB9sfuIfYrfDwIkJXX8mGPydUHJRG0YR+K4XEAyP/+22f3GXew2fIsux19QicJXXcKZ5KDEEQQJQzZcqw+nZterV+G5Uca+f5AzUQ+/QEu6bCc0/c46jksytLx+nmMCHaJT+jLBy66ntZ3haBKGQPlK/aGepLxY/3Js+oT6684Aiedubcu2eEOr4dedeMN+tvXHwoWmaNcx0D1mxYwnphp09tpg3HfN3UCPtXBcsqqxw+DbiqipAhuK6zwPTISGsLmKJ7JkEG8FZWszr9/md05pjsIqxcr+1n0H/pdTI29UN9DcD73fokhlxtONMKGw9OmvUEW8OewFmPYp2E1QR2F6hi4Ayexj1EdpZN0vbv22RPIeOwCR4F7LQWxq0wGB2z/s83DbM5j/kIjOAWcO44gAi5A6ryl4Jop3R0Me9SQLDdR+/iz4jRQ/MdenDIEXP+T4xfj1+HuJ6IncTa23ZsDFWqE7LCSaWv0IlZ/ckyVhmGRxy/LykldylJC4QajGGw4J1ASo/JTidw7ro/S4zcXtqHX5mLdtOEAUBjb7GwnlTYk+JR1AiWDXyC+nxQC9vvMv/vMy2PsQI3G7G/hY3vIY9Qjk4HWZraMnYzWXUfIaPvVPS00a7ffFUeXyutdLToeQJ5ZwiB8AmGmhp5FFow/WBGKREFVuzab8hOAk/be+203D5Ka/6CAeRgHGeaHn1bJfiGxtzqazrW6CAtJMQsqOVeLhFl6iLXbrT5H6B6YFCMi8LLSXCWvEUoCi2HVSydKHyR0E9Dxvm3s7k6V5onVE6NIS7mhwO9CKXFat2SGDeP7ph7PDPs/ga9TQhR9szlGAkrSHSygn1EvHw2XEoN6y2W9suLn867sa/mHR6/njrDhNz8aUccvJKqcdXuk0VgUj4aQ0g3GU0hS5qDKh06sv0lnA4vmJmsxNG8sZZ7Tz+j/pCxSVgnsBUHd1IowjSGOpksPhMAwljCMI2dP+H6RazMzMQZsyQSwocy9rl4HnsqThU/50aNV0TALZPhATo4eexTSG2OuwOPnsgXBcsZAu4e+Pij7XJSeULKTaPCQ0btiEj+YMZ8V3JxIOIvATCUtCdCbfaWr427d/X5fk2CD55TN3Iq3oU8J4UOkMhqFq7Mj9XmAgX6cE9BH4s5gXhyVEJ7qeDeZTKXsfW6zAWAsfVcFtkA9mxZME0LcMXvaKwdBOvN/srXePsNYGDRSY0heq9PceA/C8ikxNX/SIX7nrRW3+Mt7T55z+5iW0LP0DdxnkOyDShOKix9/Q0+/UXdoSJEjTLzInjgkYEs6EFqU0CO7RyAd8ajuPKJPor12OlthL6g4WDmlLNl9m3LXdh1sAJMhSfnvWlqqwxq4DQMqwq1xTjPPZMmL4D/dM0cyBlibS+Z0yXwnhuUHsTrlERen0ahwORq2dTVfs+NOESHweUu2YJmsRLSKXM47fw/46ytGCyKA2TB0FTILiFzQN4o81UyLxJl3BHKzq74LrlGbaPqT76CeXoRr3kyXK2+UWugEnl3wzGnkpkp1gfWoAu9HbDZ9mTcEPO4jzMK+88Aie31gbZj3/5nzMlihCkpQg/lBOt/8PD2Y+N+47lk93469Fz+zOl69LMrZnCn1sfR6JIJmgnEcEv4Dml23T7cm/2ZtHnPWghboqSByaOPomxwqR260ulbYkbkZQN8Iaqsxkix5OMAEskoXPaYZuRzgrTkpFWMBHL0p8OimwGEZfekxNw8x38qP2t06aypAkHaKi+lLDKE9lwyBE0+FHsnVDfI0BbUcui5VO0dbuvRoWy+ELk6kZm6QA542ONzzZ37kGkENNkDuBDvjbp/CWNLicOoEx67dcyulnrU7o8BgqSBu2GNpTb0pVK1fEXbzP30qoyzJeEOjnfC6/eh5B0BSbP9mpDx5Mza4qfh6d7xFBSf3LSKz9QUd+1HrW9Dcur9QBDgFLWeebMM8FfQSCrdFTCak/4xOT2xJkupwlCX5I5YRmHmkDmi7nkMxd2KDKZfmGbf9Tq+x4nS0SX3lH+b598fdiIeNU4vdML3jzpwgveiDKKjBx249/TKwdfEgD3b3TWRyq/xXjeM7P/ZwmdH0JUSnpwPQZu6yAZGcb0G1eLLlh3QiOTiMiNeymPTAM7fB17ZT/wOTcKqJ896n5Yzst1z5uR9uj1AoZpOAO6+CN5UKff5riAxYp5iLwQGz6fdzR1RMWv9cvL59qnh3y0jaZQtsPFIXkqSFqu/3tgfYXFvSdQRPVboo9dFjxdgwITmVU2Eu0ouKso8YpIccEKuJXn2Wn0WWHcL45dIobB2sJ4ww2MdJOBfFZqR0TLZGllqcB2ey1Bjzr81xcKYDZdkyFtcBArIwNok8Dvp5cvlXGSV/XAD0Y4ZQaQrWIF7vPLgI0Kr8Lmc3pnwAZRRpHcsTzvaV+CCMK9H2UxoIAPDdUupvenmOJgYEN66hRbcNkNcAddpzs1ocbfU/JrDclK+KLU2G3LEtsN2i92ER5eIGHXyK9mSXiCdutkw6BDlLQuk1G5AACFnNWdI8iPDfYronw4mOvABUugcniAy5dpdhN5Sdy9oEYbC47b0rbQyjzcSSgFxTJyxziO3XXMcoSQKrlkYnr864aOK2tZX2REDbPsbLHQD9Z3utg+Nb6KGUJ9pPR2ItRiTSPfHwyM+EjuYu5h/0een1mnq1ss73P3pIG9F2CUER9WpwIMf8jhW2FhnejbkafYxSk5uiIhGw3FMMpv7U5qPPXWJLrfd2S+hmhPDo4+XJTuLZZa1yk46onnGu5u3IR9re7ETkrKFudo7odpacwG+EdacUvFMFcFOVIT0x3l8LehJt+PTp9HXPVtlCzwPubd6IeqxNn6y4Z5EFwZHyW7YJ8QxJs84q91nA0+t+IL9o7ndm4atATTGYdW7Nu8yDaAOWefmx2ewq/J8wiDqVM29r25wBEudMDyaz5z43o+xMYH0i//jPVR2FlxF6BbWtc7+pOyRkFwFMq2+HNy958pBE/iwnsEgnufqFWYl7GvaomxIEXPppHGhLY55vAizikHltFKRbHDNlU9cZNvqtmbSh4y/215jwMnh87Z7Rn0EJN0X7mnBTVppEZSX2HNHzCk/hXWXvOj22M0CviZ2loEZJfJIMs1A/eKFEcA9T/1jQSlCNzNgU8ii3/d7u4FHqFkN6Y6ASabpN/YwwWBvnmNKyW2JN59lo114x2aCW2KeLZNDx0PSjYmFrLLUVyp9Z7cscpE0i2fNWnWgetvI/C3nFmYKobN5Vhgsjtu2/absdRM9KOurTd2zn8fZBCwraNs/yd6QzeehAW3JRf7OWC9mdY0lPGK8qHuXv5QidUI3JYR94m+oUALvKxsO2eCrf8C8I7oi+QlpYXXw4r92AAxMDv+o6vhDA4af4PXEmLqsI8ECSHm+Q3fOBA+4V/0M7E1HyQ8S/q0S9p3Wa+wHEevZoL9BZjUuWPC0eQASCDA1UMFm0mzP/bpP24+pDnea1GGy03t/MRC6xyYSfZCn/JdSKdB1rrdOVDFM3cr9n+5Ti7RD5hXTG+dkkkkCWAcG0OeM/oHIj+FvN3XjblgNKVUD3bmLVUWzY3SyM+CmxjWU2XUOXRqw6Q/Pbvf9sRZK4ziUeKRy8gFQYpqJj3yuduLeaVrjvBcMwZefnpzKbdF/thmxkHxJ15jXCzqm7cGMldAqvEopTRcPCHdv5c8vVTBEkwV6Op4nDcnvJTEsMebgkwU1BQuVFGq8PcSITU8WdLz7wFGoQNupqY3cfBJAwHofDmrw/6GchN1SpZReI9+0pmzjH4BoiQfM5SRSn4PL4MLtqY+hnLedYTFDUPiHAh+nFqL1bCh6LxgTKFcE4FnyfBEQUA2K2FW/5n5v7t7cdQVC88cl8i+m/XW4Xe2IMUIPyX8PEMgptoj7nUvxcEDOjcY69EIYvzD2muK1WiXXXGCSon59AUsWYC8IvpiNCQJz2q7a2uUpOA/TzV6BtfOeZ+fr5e5mqmEJyGmGQyzOdzDr7wj8ANWrUqoluGkrbrmu3FVxFNMsZz6KK1PWHIJsUHmS/gAL6aqof0btom3k7rm6Gj6OhcAbA53rFKJlzujhaEnVPGQs2YXBm+Ys6Cnx+SWrC4dLel4MAQwkVdWti1DUYrWNUPIFVPGH/I4yRiUyhzKzifA/H6oCiMbpqkM/U/FinD+sHrJ7NZpcP0Ig3EjiqJBBGtJ87ylYcKwwk17ZzK93fqwSi3CiwxUElhd21zs0em4LDPoZXw3i1dz0AiCKnl46kBcZMzRTsiAakkvtF6xxx9wo5dXp1duqH7EQPCV370LsXP2hhWbYMHV0T8jOCwP0wfDyhX/5Dr174yasMPebEVmTOVZ3WuL+T1Gtt7k0d6OmQ31+jMUpxTfe6uZhVJrvGASp20wTdgGk9LWoSBa9RmmXtz03D2IKuC1iwBf7YfJFEwanhYpk/S6pCictU8HNkIPPsUoaCBgtA7UoogxU2G0x/feKP+8NCdw3/aw/0WQ8bUFuTWZv1nvTXzsBFxE+wSbwsbN0PLF76ibJthOrwlXtlxVVJzzTh2yh68m9YRPVCVU8GvIicjPV6FB7xdUUpBQ3eJ2BOpM8H+NJXfrJjxkpPiRS0VV/wVYzCd7SaMZ+HKQPWyUgSP4v0hkhJSaT5HSAKNvzqyeCRYX+7v7ALaPfxbN/AjD7vYl/44TyhNRUBYRS3w5xHubvpnnXM6dtcrNzLOV3fmuwfIO58lr0HeETO3z1FlhnMhjhJ9DSBrdqltW+frxkkuWn4aGNhGdJuUfLIu/ZXOqoEvmCYECCOYuOM/qyZ8cggL74PtkGcT7Q1OoSi/64kZjq6ej/rj2ucDxiSxm/CpkJbq/Hy+Kn5fl0YqSTJBI0PjSvav8nj8Os5KzKK/hHmhngWBmLSPdUSIC87zg5cFyQbcsXENBiF4ap0484JJBesZ0si/JwfPNepyhUeY7QzevF2zLvZFjgv5VVrShn32n4j+406LFrJy7tsrvCG7cQJH/8x9du/f0CBZKQ6V84lDPmkikOw2A6YiYPzCMehCnPuNS7b27UMWUXfWLtgnArENvXpoXYJdp+s8EexBgPuRYU/soL95yApXmvLEV0DsqXfhbjAdycGSfcI0cZ0rbOWQBprr0yOHECsHJVNAyI/fVs5r4+s2elhW4sQSyJTHsYoP9992h6hcZabY80Bzo3dMYOvNK1yaqsn1+ZXu8/rRImagnDcGmavCl9a+FtImdZZGjq9jTMj7Sum3JiAr8pjP3iiT9U+UDMClsTQvNZfOaynEiyKWvb87Y1E/3owp7JhNfG6wQ33laLB4bszK5q6sXP+5eG9VM1KN2kCqwjwTAWFxBjON7Qfxyo0QwQmADgMrvliRzb/jC0DsteUrfHq4py+EhhMZmv5k4nhRYacqDd+0oiWNvVyJlPG8y3DbI0XhGLGmY9id9dj6yX7BHUKAJRZUp9Cbz38HtvHAMhIX5ywKLFpZfVcrg6mSkQCtAXa60itCIb8JytVpHR66Ph9Mlk1LgS4/o4WPa1SekZmGdE6yeOG0STtwkzt4k2vOuvObE1p5iUkeFXQI+jwLvEfp712j+yVRxEt+7oVQsBFWT9uYe7tyRz4fbUo0V2tO3Xg4e2vG7mutXYngwB3eIuGHQPQkq77kYNikha94lb7iUzW7Tvh+FjgM2QoLs8u0qwxvCnrf95e4tzHJmFne05aIcHb/g6B/vF25ce7mGvmIu+lhoHlk01LdEhkrhL4vSGD6FcYbqKxotVtWRd5mGyTFjH2Ci6B5geH2zi0IK8GvMWvnmfzqNjlg/9Fb9xmpbCeUDVK00b1BiZFgZwLtgP5HmsjghnGD1E5WApFVookydtobigiN9jjJiM5ATHJdW6HpFP4GgmdXE7XxPc8YYTr7BcHOKrkQ858ZMslYnfS6ycedbIsNNA+gsx6XgE3MOIWlUYPStQ9dVoxh74Lim1ZBwGj4Q==");
        params.put("__VIEWSTATEGENERATOR", "F1918523");
        params.put("__EVENTVALIDATION", "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");
        params.put("txtOriginalDateFrom", startDate);
        params.put("txtOriginalDateTo", endDate);
        params.put("hidClearSearch", "Y");

//        String path = "http://retractiondatabase.org/RetractionSearch.aspx";
//        okhttp3.Response response = OkHttp3Util.doPost(path, params, 1000 * 60 * 20, 0, false);
//        String result = response.body().string();
//        if (StringUtils.isBlank(result)) {
//            log.error("Retraction Watch（撤稿观察）数据库（http://retractiondatabase.org/），请求返回空！时间段：{}",startDate + "至" + endDate);
//            return;
//        }
        Document document = CrawlerCommonUtils.getDocumentByFile("C:\\Users\\user\\Desktop\\20160101-20160301.html");
//        Document document = CrawlerCommonUtils.getDocumentByString(result);
        Element scrollGrid = document.getElementById("ScrollGrid");
        Elements tableTr = scrollGrid.select("table").select("tr");
        String itemsText = tableTr.get(0).select("th").get(1).select("span").text();
        // 总条数
        String totles = RegexUtils.getTextContent(itemsText, ALL_ITEMS);
        if (StringUtils.isNotBlank(totles)) {
            // 总条数
            Integer totlesNum = Integer.parseInt(totles.trim());
            // 总条数 与 显示条数600 进行分页
            Integer pages = CommonUtils.getPages(totlesNum, 600);
            // 总页数大于等于2，说明2个月内撤稿的论文总条数大于600，页面最多显示600条数据
            if (pages >= 2) {
                // startDate 查询开始时间，格式：MM/dd/yyyyy；endDate 查询结束时间，格式：MM/dd/yyyyy。
                // 判断两个时间的间隔/月，如果month=1,说明一个月内撤稿的论文总条数大于600，需要再次拆分查询。
                int month = DateUtils.getDistanceMonth(DateUtils.stringToDate(DateUtils.handleDate(startDate)), DateUtils.stringToDate(DateUtils.handleDate(endDate)));
                if (month == 1) {
//                    int days = DateUtils.getDistanceDay(DateUtils.stringToDate(DateUtils.handleDate(startDate)), DateUtils.stringToDate(DateUtils.handleDate(endDate)));
//                    // 把一个月按10天，进行分页。
//                    Integer dayPages = CommonUtils.getPages(days, 10);
//                    for (int j = 0; j < dayPages; j++) {
//                        String newEndDate = DateUtils.dateToString(DateUtils.getNextDate(DateUtils.stringToDate(DateUtils.handleDate(startDate)), 10), "MM/dd/yyyy");
//                        Date endDate2 = DateUtils.stringToDate(DateUtils.handleDate(newEndDate));
//                        if (endDate2.getTime() > DateUtils.stringToDate(DateUtils.handleDate(endDate)).getTime()) {
//                            newEndDate = DateUtils.dateToString(DateUtils.getNextDate(DateUtils.stringToDate(DateUtils.dateToString(endDate2, "yyyy-MM-dd")), 0), "MM/dd/yyyy");
//                        }
//                        System.out.println(startDate + "--" + newEndDate);
////                        getRetractionPaperData(startDate, newEndDate);
//                        startDate = newEndDate;
//                    }
                } else {
                    endDate = DateUtils.dateToString(DateUtils.getDateOfLastMonth(DateUtils.handleDate(startDate), 1), "MM/dd/yyyy");
                    getRetractionPaperData(startDate, endDate);
                    startDate = endDate;
                }
            }
        }
        FileUtils.write(new File("C:\\Users\\user\\Desktop\\retractionPaper\\" + DateUtils.handleDate(startDate) + "至" + DateUtils.handleDate(endDate) + ".txt"), "", StandardCharsets.UTF_8);
        System.out.println(RegexUtils.getTextContent(itemsText, ALL_ITEMS).trim());
        System.out.println(itemsText);


        for (int i = 1; i < tableTr.size(); i++) {

        }
    }
}
